perm filename FDDERI.IL[TIM,LSP]  blob 
sn#679565 filedate 1982-09-27 generic text, type C, neo UTF8
 
COMMENT ā   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	 Same as DDERIV.IL
C00005 ENDMK
Cā;
;;; Same as DDERIV.IL
(DECLARE (LOCALVARS . T))
(DEFINEQ (DER1 (LAMBDA (A) (LIST (QUOTE QUOTIENT) (DERIV A) A))))
(DEFINEQ
  (PLUS-DERIV
   (LAMBDA (A) (CONS (QUOTE PLUS) (MAPCAR A (QUOTE DERIV))))))
(DEFINEQ (DIFFERENCE-DERIV (LAMBDA (A) 
			      (CONS (QUOTE DIFFERENCE)
				    (MAPCAR A (QUOTE DERIV))))))
(DEFINEQ
  (TIMES-DERIV
   (LAMBDA (A) 
     (LIST (QUOTE TIMES)
	   (CONS (QUOTE TIMES) A)
	   (CONS (QUOTE PLUS) (MAPCAR A (QUOTE DER1)))))))
(DEFINEQ
  (QUOTIENT-DERIV
   (LAMBDA (A) 
     (LIST (QUOTE DIFFERENCE)
	   (LIST (QUOTE QUOTIENT) (DERIV (CAR A)) (CADR A))
	   (LIST (QUOTE QUOTIENT) (CAR A) (LIST (QUOTE TIMES)
						(CADR A)
						(CADR A)
						(DERIV (CADR A))))))))
(DEFINEQ
  (DERIV
   (LAMBDA (A) 
     (COND ((ATOM A) (COND ((EQ A (QUOTE X)) 1) (T 0)))
	   (T ((LAMBDA (DERIV) 
		 (COND (DERIV (APPLY* DERIV (CDR A)))
		       (T (QUOTE ERROR))))
	       (GETPROP (CAR A) (QUOTE DERIV))))))))
(DEFINEQ
  (RUN
   (LAMBDA NIL 
     ((LAMBDA (G0011) 
	(PROG (I) 
	      (SETQ I G0011)
	 LOOP (COND ((IEQP I 1000) (RETURN NIL)))
	      (DERIV (QUOTE (PLUS (TIMES 3 X X)
				  (TIMES A X X)
				  (TIMES B X)
				  5)))
	      (DERIV (QUOTE (PLUS (TIMES 3 X X)
				  (TIMES A X X)
				  (TIMES B X)
				  5)))
	      (DERIV (QUOTE (PLUS (TIMES 3 X X)
				  (TIMES A X X)
				  (TIMES B X)
				  5)))
	      (DERIV (QUOTE (PLUS (TIMES 3 X X)
				  (TIMES A X X)
				  (TIMES B X)
				  5)))
	      (DERIV (QUOTE (PLUS (TIMES 3 X X)
				  (TIMES A X X)
				  (TIMES B X)
				  5)))
	      ((LAMBDA (G0011) (SETQ I G0011) (GO LOOP)) (ADD1 I))))
      0))))
(PUTPROP 'TIMES 'DERIV 'TIMES-DERIV)
(PUTPROP 'PLUS-DERIV 'DERIV 'PLUS-DERIV)
(PUTPROP 'DIFFERENCE-DERIV 'DERIV 'DIFFERENCE-DERIV)
(PUTPROP 'QUOTIENT-DERIV 'DERIV 'QUOTIENT-DERIV)
(TIMER TIMIT 
	(RUN))